home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2005 October / PCWOCT05.iso / Software / FromTheMag / Ant Movie Catalog 3.5.0.2 / amc_install.exe / {app} / Scripts / SwapFields.ifs < prev    next >
Text File  |  2005-02-05  |  3KB  |  97 lines

  1. (***************************************************
  2.  
  3. Ant Movie Catalog importation script
  4. www.antp.be/software/moviecatalog/
  5.  
  6. [Infos]
  7. Authors=scorpion7552
  8. Title=SwapFields
  9. Description=inverse 2 champs/ swaps 2 fields 
  10. Site=
  11. Language=EN,FR
  12. Version=2.0
  13. Requires=3.5.0
  14. Comments=Uniquement des champs caractΦres et modifiables|Only string fields and modifiable
  15. License=This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
  16. GetInfo=0
  17.  
  18. [Options]
  19.  
  20. ***************************************************)
  21. program SwapFields;
  22. var
  23.     str1, abort: string;
  24.     fld1, fld2: integer;
  25.  
  26. //------------------------------------------------------------------------------
  27. // creates fields list and returns the selected field number
  28. //------------------------------------------------------------------------------
  29. function SelectField :integer;
  30. var
  31.     fld: string;
  32.  
  33. begin
  34.     PickTreeClear;
  35.     if fld1 = 0 then
  36.         PickTreeAdd('SΘlectionner le 1er champ/Select 1st field', '')
  37.     else
  38.         PickTreeAdd('SΘlectionner le 2Φme champ/Select 2nd field', '');
  39. // create list (string fields only)
  40.     AddFieldToList(fieldOriginalTitle, 'Titre original/Original Title');
  41.     AddFieldToList(fieldTranslatedTitle, 'Titre Traduit/Translated Title');
  42.     AddFieldToList(fieldDirector, 'RΘalisateur/Director');
  43.     AddFieldToList(fieldProducer, 'Producteur/Producer');
  44.     AddFieldToList(fieldCountry, 'Pays/Country');
  45.     AddFieldToList(fieldCategory, 'CatΘgorie/Category');
  46.     AddFieldToList(fieldActors, 'Acteurs/Actors');
  47.     AddFieldToList(fieldUrl, 'Adresse  Web/URL');
  48.     AddFieldToList(fieldDescription, 'Description');
  49.     AddFieldToList(fieldComments, 'Commentaires/Comments');
  50. //
  51.     PickTreeExec(fld);
  52.     result := StrToInt(fld,0);
  53. end;
  54.  
  55. //------------------------------------------------------------------------------
  56. // add a field to the selection list
  57. // AddFieldToList(fieldnumber, text_for_display);
  58. //------------------------------------------------------------------------------
  59. procedure AddFieldToList(fldn: integer; str:string);
  60. begin
  61. // if fieldnumber is not equal to fld1 (1st selected field) and is modifiable
  62.     if (fldn <> fld1) and CanSetField(fldn) then 
  63.         PickTreeAdd(str, IntToStr(fldn));
  64. end;
  65.  
  66. //------------------------------------------------------------------------------
  67. //  start here
  68. //------------------------------------------------------------------------------  
  69. begin
  70.     if abort = 'o' then                             // selection has been canceled
  71.         exit;
  72.     if fld1 = 0 then                          // first time: select fields to swap
  73. // note: number = 0 = fieldNumber: not selectable here
  74.     begin
  75.         if not CheckVersion(3,5,0) then
  76.         begin
  77.             ShowMessage('This script requires a newer version of Ant Movie Catalog (at least the version 3.5.0)');        
  78.             abort := 'o';
  79.             exit;
  80.         end;
  81.         fld1 := SelectField;
  82.         if fld1 <> 0 then
  83.         begin
  84.             fld2 := SelectField;
  85.         end;
  86.         if (fld1 = 0) or (fld2 = 0) then
  87.         begin
  88.             abort := 'o';                                              // no selection
  89.             exit;
  90.         end;
  91.     end;
  92. // swap these two fields for the current item
  93.     str1 := GetField(fld1);
  94.     SetField(fld1, GetField(fld2));
  95.     SetField(fld2, str1);
  96. end.
  97.